Laurea in Ingegneria Gestionale, Corso di

Progettazione del Software

Edizione dell'a.a. 2007/08

Materiale di autovalutazione AUTOV.Java.1 - Esercizi

Questa sezione è costituita da due parti.

La parte "Domande" ha la funzione di aiutare lo studente nell'autovalutazione e nell'individuazione degli argomenti che gli sono poco chiari. Le soluzioni non verranno fornite in classe. Il docente rimane comunque a disposizione per eventuali dubbi. Si fa notare che il modo migliore per le domande che riguardano linee di codice è quello di scrivere un breve programma di prova e compilarlo...

La parte "Esercizi di programmazione" contiene alcuni esercizi che gli studenti sono invitati a svolgere. Le soluzioni di alcuni di essi non verranno pubblicate, in quanto la verifica della loro correttezza può essere effettuata dagli stessi studenti scrivendo brevi moduli cliente.

Domande

  1. Come si invoca da linea di comando il compilatore Java?
  2. Qual'è l'intestazione standard del metodo main che costituisce il punto di accesso ad un programma Java?
  3. Quali sono le convenzioni su maiuscole e minuscole nei nomi degli identificatori di classi, variabili, metodi e costanti?
  4. Il seguenti frammenti di codice producono un errore in compilazione? In caso affermativo, quale errore, e perché?
  5. Che risultato producono le seguenti linee di codice?
    int i=100;
    // i=i+1;
    
  6. Il seguente frammento di codice è corretto?
    bool b1=true;
    bool b2=false;
    if (b1=b2) {
       System.out.println("le variabili hanno lo stesso valore");
    }
    
  7. Qual è il tipo delle seguenti espressioni, dove i denota una variabile di tipo int:
  8. Quali istruzioni di ciclo offre il linguaggio Java? Qual'è la loro sintassi?

Esercizi di programmazione

Scrivere, compilare ed eseguire un programma Java che...
  1. ...assegna ad una variabile il valore 10987654321.
  2. ...calcola il quadrato di un valore intero.
  3. ...calcola il massimo fra due valori interi.
  4. ...calcola la media di 3 valori interi.
  5. ...dato un intero, stampa "Attenzione: valore fuori range!!" se l'intero non è compreso in uno degli intervalli [50,100] e [-200,-40].
  6. ...stampa i primi 100 numeri pari.
  7. ...stampa tutti i numeri minori di 10000 che hanno 3 e 7 come divisori.
  8. ...stampa i primi 20 numeri della successione di Fibonacci (definita da  ni+1 = ni - ni-1, con n1 = n2 = 1).
  9. ...stampa i primi 100 numeri primi
  10. ...individua e stampa il più piccolo ed il più grande valore rappresentabile tramite i seguenti tipi:  byte, short, int, long
  11. ...stampa il seguente output (solo gli asterischi) utilizzando solo una volta l'istruzione System.out.print("*"); (che stampa senza andare a capo) e una volta l'istruzione System.out.println(); (che va a capo) nel corpo del programma:
    ************************** (26 asterischi)
    *************              (13 asterischi)
    *******                    (7 asterischi)
    ***                      
    *
    
  12. ...stampa il nome di una provincia italiana in base al valore di una variabile char che ne rappresenta l'iniziale (per brevità, considerare solo i caratteri da 'a' a 'g')
  13. ...dato un intero, stampa il numero di "passi" necessari per azzerarne il valore tramite le due seguenti operazioni: "incrementare di tre unità" e "decrementare di due unità